Transport stream recording apparatus and method, transport stream reproducing apparatus and method, and program recording medium

ABSTRACT

Random access reproduction in prompt response to user commands is realized. A stream analyzing block analyzes sequentially inputted transport streams to get entry point data. Discontinuity point data are obtained in correspondence to a discontinuity occurrence flag inputted from a PLL block. Sequentially inputted transport packets are analyzed to get mark point data. A stream database creating block creates a stream database by use of the discontinuity point data and the mark point data. The stream database is recorded on a recording medium.

BACKGROUND OF THE INVENTION

The present invention generally relates to a transport stream recordingapparatus and a transport stream recording method, a transport streamreproducing apparatus and a transport stream reproducing method, and aprogram recording medium. For example, the present invention relates toa transport stream recording apparatus and a transport stream recordingmethod, a transport stream reproducing apparatus and a transport streamreproducing method, and a program recording medium which are suitablyfor use in recording an MPEG video stream for example onto a datarecording medium so that the recorded video stream can be reproduced inrandom access manner and in reproducing the MPEG video stream.

MPEG (Moving Picture Experts Group) 2 transport streams are used in thesatellite digital broadcast and terrestrial digital broadcast in Japan,Europe, and the US. Namely, transport streams as digital broadcast wavesare multiplexed in a time division manner with packetized MPEG video andaudio streams corresponding to the video and audio signals of broadcastprograms.

If these transport streams can be recorded in the form of digitalsignals on the side of receivers, users can repeatedly view programswithout degradation in picture and sound qualities.

Further, recording transport streams onto random-accessible recordingmedium such as a hard disc and an optical disc can realize random accessreproduction in which broadcast programs can be reproduced from anypoint of time specified by user.

In an MPEG video stream, I picture, B picture, and P picture arearranged appropriately. The decoding of B picture and P picture uses theimage data decoded in the past, so that only I picture can become thereproduction start position of these three types of pictures. Therefore,when random access reproduction is executed from a user-specifiedreproduction start position, the I picture which is nearest thespecified reproduction start position is searched and the reproductionis started with that I picture.

However, to search for the I picture nearest the specified reproductionstart position from a recorded transport stream, MPEG video packets mustbe extracted from the transport stream to analyze the header and payloadof each MPEG packet. These extraction and analysis take time, therebypresenting a problem that prompt random access reproduction in responseto user specification cannot be realized.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to realize promptrandom access reproduction in response to user commands by detecting Ipicture in a transport stream to be recorded and by recording on a datarecording medium information for identifying a packet in which data ofthe I picture are stored along with discontinuity information as adatabase of transport stream.

In carrying out the invention and according to a first aspect thereof,there is provided a transport stream recording apparatus for recording atransport stream on a recording medium, including a detector fordetecting, from a transport packet constituting the transport stream, adiscontinuity point in the transport stream, a discontinuity pointinformation generator for generating discontinuity point information inaccordance with the discontinuity point, and a recording unit forrecording the transport packet onto the recording medium along with thediscontinuity point information.

According to a second aspect of the invention, there is provided atransport stream recording apparatus, wherein the detector including afirst extracting block for extracting reference time information locatedin the transport stream, a time information generator for generatingsystem time information on the basis of the reference time information,and a time discontinuity detector for detecting occurrence ofdiscontinuity in the reference time information.

According to a third aspect of the invention, there is provided atransport stream recording apparatus, wherein the discontinuity pointinformation generator generates, as the discontinuity information, timeaxis identification information for identifying a time axis andpositional information corresponding to a start time of the time axis.

According to a fourth aspect of the invention, there is provided atransport stream recording apparatus, wherein the discontinuity pointinformation generator generates, as the time axis identificationinformation, the system time information corresponding to a start timeof the time axis and the system time information corresponding to an endtime of the time axis.

According to a fifth aspect of the invention, there is provided atransport stream recording apparatus, wherein the discontinuity pointinformation generator generates, as the time axis identificationinformation, the system time information corresponding to a displaystart time on the time axis and the system time informationcorresponding to a display end time on the time axis.

According to a sixth aspect of the invention, there is provided atransport stream recording apparatus, wherein the detector including asecond extracting block for extracting, on the basis of programinformation arranged in the transport stream, a point at which programcontent changes.

According to a seventh aspect of the invention, there is provided atransport stream recording apparatus further including a first analyzerfor extracting, from the transport packets, a transport packet includingdata that may provide a reproduction start position, and an entry pointmap generator for generating an entry point map for identifying thetransport packet including the data, wherein the recording unit records,along with the discontinuity point information, the entry point map onthe recording medium as the database corresponding to the transportstream.

The above-mentioned first analyzer can be adapted to extract a transportpacket in which I picture data are described as a transport packet inwhich data that can provide a reproduction start position are described.The above-mentioned entry point map creating block can be adapted tocreate an entry point map by use of the positional information about atransport packet in which I picture data are described and by use of Ipicture PTS.

According to an eighth aspect of the invention, there is provided atransport stream recording apparatus further including a second analyzerfor extracting a transport packet including data that provide a markpoint from the transport packets, and a mark point information generatorfor generating mark point information for identifying the transportpacket including the data that provide the mark point, wherein therecording unit records the mark point information on the recordingmedium as the database corresponding to the transport stream along withthe discontinuity point information.

According to a ninth aspect of the invention, there is provided atransport stream recording apparatus, wherein the mark point informationgenerator generates the mark point information by use of timeinformation of the mark point and time axis identification informationfor identifying a time axis to which the time information belongs.

According to a tenth aspect of the invention, there is provided atransport stream recording method for recording a transport stream on arecording medium, including the steps of detecting, from a transportpacket constituting the transport stream, a discontinuity point in thetransport stream, generating discontinuity point information inaccordance with the discontinuity point, and recording the transportpacket onto the recording medium along with the discontinuity pointinformation.

According to an eleventh aspect of the invention, there is provided aprogram recording medium recording a computer-readable program forrecording an inputted transport stream on a data recording medium, theprogram including the steps of detecting, from a transport packetconstituting the transport stream, a discontinuity point in thetransport stream, generating discontinuity point information inaccordance with the discontinuity point, and recording the transportpacket onto the recording medium along with the discontinuity pointinformation.

According to a twelfth aspect of the invention, there is provided atransport stream reproducing apparatus for reproducing a transportstream recorded on a recording medium, including a reproducing unit forreproducing the transport stream from the recording medium, areproduction controller for executing control such that time axisidentification information of the transport stream and an entry pointmap are reproduced from the recording medium, and a controller forsearching the time axis identification information and the entry pointmap for a reproduction start position, wherein the reproductioncontroller controls the reproducing unit such that the recording mediumis read in accordance with the reproduction start position.

According to a thirteenth aspect of the invention, there is provided atransport stream reproducing method for reproducing a transport streamfrom a recording medium, including the steps of reproducing time axisidentification information of the transport stream and an entry pointmap from the recording medium, searching the time axis identificationinformation and the entry point map for a reproduction start position;and reading the recording medium in accordance with the reproductionstart position.

According to a fourteenth aspect of the invention, there is provided aprogram recording medium recording a computer-readable program forreproducing a transport stream from a recording medium, the programincluding the steps of reproducing time axis identification informationof the transport stream and an entry point map from the recordingmedium, searching the time axis identification information and the entrypoint map for a reproduction start position, and reading the recordingmedium in accordance with the reproduction start position.

In the transport stream recording apparatus and method and in theprogram recorded on the first program recording medium according to theinvention, the transport packet is analyzed for detection of adiscontinuity point in coding information and, in accordance with theanalysis result, discontinuity point information in the case wherediscontinuity occurred is created. In addition, transport packet dataare recorded on a data recording medium and the discontinuity pointinformation is recorded on the data recording medium as a databasecorresponding to the transport stream.

In the transport stream recording apparatus and method and in theprogram recorded on the second program recording medium according to theinvention, the database corresponding to a transport stream is obtainedfrom a data recording medium. In addition, a specified reproductionstart position is compared with information contained in the databasecorresponding to the transport stream to find a reproduction startpermitting position. By use of the information contained in thedatabase, an address on the data recording medium on which the transportpacket corresponding to the reproduction start permitting position iscomputed. The reading of the transport packet starts from the computedaddress on the data recording medium.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects of the invention will be seen by reference tothe description, taken in connection with the accompanying drawing, inwhich:

FIG. 1 is a block diagram illustrating a configuration of a recordingapparatus practiced as one embodiment of the invention;

FIGS. 2A, 2B, and 2C illustrate a DVR transport packet to be recorded ona data recording medium;

FIG. 3 is a block diagram illustrating a PLL block shown in FIG. 1;

FIG. 4 is a flowchart describing transport stream recording processingby a recording apparatus;

FIG. 5 is a flowchart describing a process in which an arrival timestamp is generated;

FIG. 6 is a flowchart describing stream database recording processing bythe recording apparatus;

FIG. 7 is a flowchart describing processing in step S21 shown in FIG. 6;

FIG. 8 is a diagram illustrating a relationship between STCdiscontinuity point and entry point;

FIG. 9 is a diagram illustrating STC discontinuity;

FIG. 10 is a diagram illustrating STC discontinuity;

FIG. 11 is a flowchart describing the processing for analyzingdiscontinuity in a program sequence;

FIG. 12 is a diagram illustrating one example of entry point map;

FIG. 13 is a diagram illustrating one example of STC time axisinformation;

FIG. 14 is a diagram illustrating a first example of STC discontinuityinformation syntax;

FIG. 15 is a diagram illustrating a second example of STC discontinuityinformation syntax;

FIG. 16 is a diagram illustrating a first example of program sequencesyntax;

FIG. 17 is a diagram illustrating a second example of program sequencesyntax;

FIG. 18 is a diagram illustrating program_(—)sequence;

FIG. 19 is a diagram illustrating entry point map syntax;

FIG. 20 is a diagram illustrating mark syntax;

FIG. 21 is a diagram illustrating an example in which mark is indicatedby STC_(—)sequence_(—)id and PTS values;

FIG. 22 is a diagram describing a relationship between EntryPointMap andSTC_(—)Info;

FIG. 23 is a block diagram illustrating an exemplary configuration of areproducing apparatus practiced as one embodiment of the invention;

FIG. 24 is a flowchart describing reproduction processing by thereproducing apparatus;

FIGS. 25A, 25B, and 25C are diagrams describing a method of reproductionby use of mark point information;

FIG. 26 is a flowchart describing cued reproduction processing of ascene indicated by mark point information; and

FIG. 27 is a flowchart describing CM skipped reproduction processing byuse of mark point information.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

This invention will be described in further detail by way of examplewith reference to the accompanying drawings.

Now, referring to FIG. 1, an exemplary configuration of a recordingapparatus 10 to which the present invention is applied will bedescribed. The recording apparatus 10 adds a transport packet extraheader to a transport packet (an MPEG video packet or an MPEG audiopacket for example) as shown in FIG. 2A multiplexed at irregularintervals on a transport stream inputted from a set top box for example,not shown, which receives digital broadcast waves, thereby generating asource packet as shown in FIG. 2B to generate DVR transport stream byremoving the intervals of the source packet. The generated DVR transportstream is then recorded on a data recording medium 21. It should benoted that the lateral axes in FIGS. 2A and 2B represent time axes forthe arrival time clock at which the transport packet arrives at therecording apparatus 10.

A stream analyzing block 11 searches the transport packets sequentiallyinputted from the set top box for example for a packet in which PCR(Program Clock Reference) is stored, extracts PCR, and outputs it to aPLL (Phase Locked Loop) block 12.

The packets in which PCR is stored (these packets hereafter referred toas PCR packets) are arranged in a transport stream at intervals lessthan 100 milliseconds. PCR is information for aligning a system timeclock (hereafter STC) that provides a reference clock for reproductionof data stored in each transport packet. PCR has a precision of 27 MHz.It should be noted that a difference between the values of the PCRsstored in one PCR packet and the following PCR packet is normally inproportion to the interval (less than 100 milliseconds) at which the PCRpackets are arranged. However, for various reasons, the difference valuebetween the PCRs stored in one PCR packet and the following PCR packetmay be greater than the normal level. In such a case, the STC generatedby the PLL block 12 (to be described later) becomes discontinuous,changing the STC time axis before and after the time at which thediscontinuity occurs.

The stream analyzing block 11 also generates a discontinuity flag andoutputs it to the PLL block 12 if STC discontinuity is found by theanalysis of the header of each inputted transport packet; to be morespecific, if a packet ID change in a PCR packet is detected, 1 isdetected in “discontinuity_(—)indicator” of the header of a transportpacket, or if DIT (Discontinuity Information Table) is detected.

Further, the stream analyzing block 11 imparts a serial packet number(packet identification information) to each serially inputted transportpacket and, at the same time, analyzes the header and payload of eachtransport packet to generate entry point data, discontinuity point data,and mark point data, which are outputted to a stream database creatingblock 16.

The entry point data are information for identifying the packet in whichI picture data that can provide a reproduction start position (an entrypoint). The discontinuity point data are information for indicating apacket at which STC discontinuity occurred. The mark point data areinformation for identifying a packet in which image data correspondingto scene change position, commercial start and end positions, and so onare stored.

The PLL block 12 aligns the system clock frequency of 27 MHz by use of aPCR inputted from the stream analyzing block 11 and outputs the alignedsystem clock frequency to an arrival time clock (ATC) counter 13. ThePLL block 12 also generates an STC for counting up in synchronizationwith the system clock frequency with the PCR as an initial value andoutputs a discontinuity occurrence flag to the stream analyzing block 11if discontinuity occurs in that STC or a discontinuity flag is inputtedfrom the stream analyzing block 11.

FIG. 3 shows a detailed exemplary configuration of the PLL block 12. PCRinputted from the stream analyzing block 11 at an interval of less than100 milliseconds is supplied to a comparator 31 and a system time clockcounter 34. The comparator 31 generates a signal indicative of adifferential value between the PCR value from the stream analyzing block11 and the STC value from the STC counter 34 and outputs the generatedsignal to a lowpass filter (LPF) 32 and a controller 35. The lowpassfilter 32 removes the high-frequency component of the differentialsignal from the comparator 31 and outputs the resultant signal to avoltage-controlled oscillator (VCO) 33. The voltage-controlledoscillator 33 generates a system clock frequency of 27 MHz and output itto the STC counter 34 and an ATC counter 13 (FIG. 1) at the followingstage so that the differential signal from the lowpass filter 32 becomes0.

The STC counter 34 counts up the STC with the first inputted PCR beingthe initial value in synchronization with the system clock frequency (27MHz) from the voltage-controlled oscillator 33 and outputs the resultantSTC to the comparator 31. If the controller 35 determines the value ofthe differential signal from the comparator 31 is greater than apredetermined threshold, the controller 35 generates a discontinuityoccurrence flag and outputs it to the stream analyzing block 11 if adiscontinuity flag is inputted from the stream analyzing block 11 forexample.

For example, if PCRs having values of certain intervals are sequentiallyinputted in the PLL block 12, the differential value from the comparator31 becomes 0 and therefore no discontinuity occurrence flag is outputtedfrom the controller 35. If a PCR having a value greatly different fromthe value of a previously inputted PCR is inputted, the differentialvalue from the comparator 31 becomes a great value and it is determinedin the controller 35 that the differential value is greater than thethreshold, upon which a discontinuity occurrence flag is outputted. ThePCR which is not continuous is used in the system clock counter 34 asthe initial value of a new STC time axis.

Referring to FIG. 1 again, the ATC counter 13 counts up the arrival timeclock (hereafter referred to as ATC) in synchronization with the systemclock frequency inputted from the PLL block 12 and, at the same time,outputs an arrival time stamp (arrival_(—)time_(—)stamp) which is asample value of ATC to a transport packet extra header(TP_(—)extra_(—)header) adding block 15. In addition, the ATC counter 13outputs the ATC to the stream analyzing block 11. It should be notedthat the ATC is initialized to 0 when the transport packet located atthe beginning of the program is inputted in the recording apparatus 10.

The transport packet extra header adding block 15 adds a transportpacket extra header (4 bytes) including the arrival time stamp inputtedfrom the counter 13 when the packet is inputted to the transport packet(118 bytes) from the set top box to generate a source packet (192 bytes)and outputs it to a file system block 17.

The stream database creating block 16 creates an entry point map, systemtime clock time axis information, program sequence information, and markpoint information (each to be described later) by use of the entry pointdata, discontinuity point data, and mark point data inputted from thestream analyzing block 11 and outputs the created information to thefile system block 17 as a stream database. The stream database isinformation to be used for the random access reproduction of thetransport stream recorded on the data recording medium 21.

The file system block 17 removes the intervals between the sourcepackets inputted from the transport packet extra header adding block 15to generate a DVR transport stream as a file as shown in FIG. 2C. Inaddition, the file system block 17 creates a file of the stream database(entry point map, system time clock time axis information, programsequence information, and mark point information) inputted from thestream database creating block 16. Further, the file system block 17outputs the created DVR transport stream and stream database file to anerror correction block 18.

The error correction block 18 adds error correction information to thefile inputted from the file system block 17 and outputs the resultantfile to a modulator 19. The modulator 19 modulates the file from theerror correction block 18 in a predetermined manner and outputs themodulated file to a writing block 20. The writing block 20 records themodulated DVR transport stream file to an address on the data recordingmedium 21 corresponding to the packet number of the transport packet inthe file. In addition, the writing block 20 records the modulated streamdatabase file to a predetermined position of the data recording medium21. The data recording medium 21 is such a medium permitting randomaccess as a hard disc or an optical disc for example that can beattached to and detached from the recording apparatus 10.

The controller 22 controls a drive 23 to read a control program from amagnetic disc 24, an optical disc 25, a magneto-optical disc 26, or asemiconductor memory 27, thereby controlling the components of therecording apparatus 10 on the basis of this control program and commandsinputted by the user.

The following describes the transport stream recording processing to beexecuted by the recording apparatus 10 with reference to the flowchartshown in FIG. 4. This transport stream recording processing starts whenthe user inputs a recording start command.

In step S1, the transport packet extra header adding block 15 adds atransport packet extra header including an arrival time stamp inputtedfrom the ATC counter to a transport packet inputted from a set top boxfor example to generate a source packet and outputs it to the filesystem block 17.

The following describes the processing in which the arrival time stampincluded in the transport packet extra header is generated withreference to the flowchart shown in FIG. 5.

In step S11, the stream analyzing block 11 detects a PAT packet havingPID of 0x0000 storing a PAT (Program Association Table) of the inputtedtransport stream to read the PAT, obtaining the PID of the packet(hereafter referred to as a PMT packet) storing a PMT (Program MapTable) described in the PAT. In step S12, the PMT packet is detected onthe basis of the PID of the PMT packet obtained in step S11 to read thePMT, obtaining the PID of the packet (hereafter referred to as a PCRpacket) storing the PCR described in the PMT. In step S13, the PCR isdetected on the basis of the PID of the PCR packet obtained in step S12to read the PCR. This PCR is supplied to the PLL block 12.

In step S14, the PLL block 12 aligns the system clock frequency by useof the PCR inputted from the stream analyzing block 11 and supplies thealigned frequency to the ATC counter 13. In step S15, the ATC counter 13counts up the ATC in synchronization with the system clock frequencyfrom the PLL 12 and, at the same time, outputs the its sampling value tothe transport packet extra header adding block 15 as an arrival timestamp.

Referring to FIG. 4 again, the file system 17 removes the intervalsbetween the source packets inputted from the transport packet extraheader adding block 15, creates a file of the resultant DVR transportstream file, and outputs this file to the error correction block 18. Instep S3, the error correction block 18 adds error correction informationto the DVR transport stream file from the file system block 17. Themodulator 19 modulates the error-corrected file. The writing block 20records the modulated file to an address on the data recording medium 21corresponding to the packet number.

The following describes the stream database recording processing to beexecuted along with the above-mentioned transport stream recordingprocessing, with reference to the flowchart shown in FIG. 6.

In step S21, the stream analyzing block 11 analyzes sequentiallyinputted transport streams to detect a packet in which I picture data ofthe MPEG2 systems standard are stored, obtaining, as entry point data,the packet number of this packet and the PTS (Presentation Time Stamp)of this I picture. It should be noted that PTS is information includedin the header of a PES packet of the MPEG2 systems standard andindicates a time along the system time clock time axis on which thispicture is reproduced.

The following describes specific processing of step S21 with referenceto the flowchart shown in FIG. 7. In step S31, the stream analyzingblock 11 determines whether a transport packet has been inputted or notand waits until the transport packet is inputted. If the transportpacket is found inputted, the stream analyzing block 11 goes to stepS32.

In step S32, the stream analyzing block 11 detects if 1 is written to apayload unit start indicator (payload_(—)unit_(—)start indicator)included in the transport packet header of the transport packet, therebydetermining whether the payload of the transport packet starts fromfirst byte of the PES packet. If 1 is detected in the payload unit startindicator and the payload of the transport packet is found starting fromthe first byte of the PES packet, then the stream analyzing block 11goes to step S33.

In step S33, the stream analyzing block 11 determines whether0x000001B3, the sequence header code (sequence_(—)header_(—)code) ofMPEG video, is written to the beginning of the PES packet described inthe payload of the transport packet. If the sequence header code of MPEGvideo is found written, the stream analyzing block 11 determines thatthe I picture data are stored in the payload of this transport packetand goes to step S34.

In step S34, the stream analyzing block 11 determines that thistransport packet is an entry point, relates the packet number (by use ofthis packet number, the address on the data recording medium 21 at whichthis packet is recorded can be identified) of this transport packet tothe PTS of the I picture stored in this transport packet, and outputsthe resultant PTS and the identification information (video PID) of thisprogram to the stream database creating block 16 as the entry pointdata.

For example, as shown in FIG. 8, if the I picture data are found storedin the packets of packet numbers E11, E12, E21, and E22, PTS=x11, x12,x21, and x22 are related to the packet numbers E11, E12, E21, and E22respectively to be outputted to the stream database creating block 16.

In step S35, the stream analyzing block 11 determines whether theinputting of transport packets has come to an end or not. If theinputting of transport packets is found not ended, then the streamanalyzing block 11 returns to step S31 to repeat the above-mentionedprocessing. If the inputting of transport packets is found ended, thestream analyzing block 11 returns to step S22 shown in FIG. 6.

In step S22, the stream analyzing block 11 outputs the discontinuityinformation about transport stream STC time axis and the discontinuityinformation about program sequence to the stream database creating block16 as discontinuity point data. As for the discontinuity informationabout STC time axis, the stream analyzing block 11 outputs theinformation (STC time axis ID, PCR_(—)PID, start_(—)PCR_(—)value,end_(—)STC_(—)value, and RSPN_(—)STC_(—)start) about the STC time axischanging before and after the inputting of a discontinuity pointoccurrence flag from the PLL block 12 to the stream database creatingblock 16 as the discontinuity point data. As for the discontinuityinformation about PSI/SI, the stream analyzing block 11 outputs thechanging address of PSI/SI and the contents of new PSI/SI to the streamdatabase creating block 16 as the discontinuity point data.

The following describes the discontinuity point data. STC time axis IDis information for identifying an STC time axis. A pair ofstart_(—)PCR_(—)value and end_(—)STC_(—)value indicate the start timeand the end time of a continuous STC time axis respectively.

For the start_(—)PCR_(—)value, the value of the PCR that caused STCdiscontinuity is used. However, for the first start_(—)PCR_(—)value ofthe inputted transport stream, the value of the PCR stored in the firstPCR packet is used.

The end_(—)STC_(—)value is obtained from the following equation:

end_(—)STC_(—)value=last_(—)PCR+PCR_(—)gap

where, last_(—)PCR is the value of the PCR packet immediately before thePCR packet that changed the STC time axis. PCR_(—)gap is a timedifference between the last_(—)PCR and the occurrence of STCdiscontinuity. However, for the last end_(—)STC_(—)value of the inputtedtransport stream, the input time of the last transport packet is used.

For RSPN_(—)STC_(—)start, the packet number of a packet at which STCstarts is used. To be more specific, the packet number of the PCR packetin which PCR providing start_(—)PCR_(—)value is used. Here, RSPN standsfor Relative Packet Number, indicating a relative packet number which iscounted with a packet number given to the head packet of the transportstream being an initial value.

Alternatively, a packet number given at detection of STC discontinuity,a packet number given at detection of a change in the packet ID of a PCRpacket, a packet number given at detection of 1 indiscontinuity_(—)indicator of the header of a transport packet, or apacket number given at detection of a DIT packet may be used forRSPN_(—)STC_(—)start.

To be more specific, as shown in FIG. 9, if STC discontinuity occurredonce in a sequence of transport streams and the STC time axis from thebeginning of the transport stream to the discontinuity occurrence pointis STC1 and the STC time axis thereafter is STC2, then, for thestart_(—)PCR_(—)value of the STC time axis STC1, start_(—)PCR1 is usedand, for the end_(—)STC_(—)value, the end_(—)stc1 obtained by addingPCR_(—)gap to the last_(—)PCR is used. For the start_(—)PCR_(—)value ofthe STC time axis STC2, the start_(—)PCR2 is used and, for theend_(—)STC_(—)value, the end_(—)stc2 is used.

As seen from FIGS. 9 and 10, regardless of the STC discontinuity, theATC to be generated by the ATC counter 13 is continuous regardless ofthe STC discontinuity. However, referring to FIG. 10, the lateral axisindicates ATC and the vertical axis indicates the STC, indicating arelationship between start_(—)PCR_(—)value and end_(—)STC_(—)value.

The following describes the processing for analyzing the discontinuityinformation about the program sequence with reference to the flowchartshown in FIG. 11.

In step S41, the stream analyzing block 11 waits until the transportpackets of PSI/SI are inputted. When the transport packets of PSI/SIhave been inputted, the stream analyzing block 11 goes to step S42.

To be specific, the transport packets of PSI/SI are packets of PAT, PMT,and SIT. SIT is a transport packet describing service information of apartial transport stream specified by the DVB standard.

In step S42, the stream analyzing block 11 determines whether a changeoccurred in the contents of PSI/SI. Namely, the stream analyzing block11 determines whether the contents of each of PAT, PMT, and SIT differedfrom those inputted previously. If a change is found, the streamanalyzing block goes to step S43. It should be noted that, in the firststep S42 after the recording started, the stream analyzing block alsogoes to step S43 because there is no PSI/SI transport packet inputtedbefore.

In step S43, the stream analyzing block acquires the packet number givento the transport packet for transporting new PSI/SI and the contentsthereof and outputs the packet number and the contents to the streamdatabase creating block 16. In step S44, the stream database creatingblock 16 creates the discontinuity information of the program sequence.

In step S45, the stream analyzing block 11 determines whether theinputting of the transport packets has been completed. If the inputtingis found not completed, the stream analyzing block returns to step S41to repeat the processing mentioned above. If the inputting is foundcompleted in step S45, this processing comes to an end.

If no change is found in the contents of PSI/SI in step S42, then thestream analyzing block returns to step S41 to repeat the processingmentioned above.

Referring to FIG. 6 again, the stream analyzing block 11 analyzes theheader and payload of each sequentially inputted transport packet instep S23 to detect a mark point (for example, scene change position,commercial start and end positions, and so on) and outputs theinformation for identifying the packets storing their image data(identification information (video PID) of this program, system timeclock time axis ID, and PTS of this picture) to the stream databasecreating block 16 as the mark point data.

It should be noted that the processing operations from step S21 to stepS23 were described in the order of time for the convenience ofdescription. Actually, however, these processing operations are executedin parallel for each of the inputted transport packets.

In step S24, the stream database creating block 16 creates an entrypoint map as shown in FIG. 12 that describes the entry point data fromthe stream analyzing block 11 for each program. It should be noted thatthe offset source packet number is a packet number assigned to the firstpacket of the transport stream.

The stream database creating block 16 also creates system time clocktime axis information composed of system time clock time axis ID(STC_(—)sequence_(—)id), PCR_(—)PID, start_(—)PCR_(—)value,end_(—)STC_(—)value, and RSPN_(—)STC_(—)start as shown in FIG. 13.RSPN_(—)STC_(—)start is a packet number which is counted with theabove-mentioned offset source packet number being the initial value.

Moreover, the stream database creating block 16 creates mark pointinformation describing the mark point data (video PID, system time clocktime axis ID, and PTS of image) supplied from the stream analyzing block11.

In addition, the stream database creating block 16 creates programsequence information which describes the discontinuity point data(details to be described) of the program sequence supplied from thestream analyzing block 11.

In step S25, the stream analyzing block 16 outputs the entry point map,the system time clock time axis information, and the mark pointinformation created in step S24 to the file system block 17 as thestream database. The file system block 17 creates a file of the inputtedstream database. The stream database file is added with error correctioninformation by the error correction block 18, the error-corrected streamdatabase is modulated by the modulator 19, and the modulated streamdatabase is recorded by the writing block 20 onto the data recordingmedium 21 at a predetermined position.

As described, the stream database recorded on the data recording medium21 is used for the reproduction processing to be described later,especially for random access reproduction.

It should be noted that the entry point map of the stream databasedescribes the packet number as the information for identifying theposition of the entry point, thereby reducing the number of requiredbits as compared with the representation of the entry point position byan address of byte-precision.

Referring to FIG. 14, there is shown a first example of the an STCdiscontinuity information syntax.

STC_(—)Info( ) denotes that this syntax provides STC discontinuity pointinformation. STC_(—)Info( ) has STC time axis information in the numberindicated by num_(—)of_(—)STC_(—)sequences. STC_(—)sequence_(—)iddenotes STC time axis ID (refer to FIG. 13). Fields PCR_(—)PID,RSPN_(—)STC_(—)start, start_(—)PCR_(—)value, and end_(—)stc_(—)valuehave the same meanings as those of the corresponding variable namesshown in FIG. 13.

Referring to FIG. 15, there is shown a second example of an STCdiscontinuity information syntax. STC_(—)Info( ) has STC time axisinformation in the number indicated by num_(—)of_(—)STC_(—)sequences.STC_(—)sequence_(—)id denotes STC time axis ID (refer to FIG. 13).Offset_(—)STC_(—)sequence_(—)id is STC time axis ID given to head STCtime axis of the transport stream. The fields of RSPN_(—)STC_(—)starthave the same meanings as those of the corresponding variable namesshown in FIG. 13.

This syntax uses start_(—)PTS and end_(—)PTS instead ofstart_(—)PCR_(—)value and end_(—)STC_(—)value used in the syntax shownin FIG. 14. start_(—)PTS denotes the PTS of the first presentation uniton the STC time axis ID indicated by STC_(—)sequence_(—)id. end_(—)PTSdenotes the PTS of the last presentation unit on the STC time axis IDindicated by STC_(—)sequence_(—)id.

It should be noted that PCR_(—)PID is omitted from the syntax shown inFIG. 15 by limiting the format to only one PCR_(—)PID that is referencedby the transport stream to be recorded.

Referring to FIG. 16, there is shown a first example of a discontinuityinformation syntax of the program sequence.

ProgramInfo( ) indicates that this syntax is program sequencediscontinuity information. ProgramInfo( ) has PSI/SI information in thenumber indicated by number_(—)of_(—)PSI_(—)SI change. PSI_(—)SI_(—)typeindicates the type of following PSI/SI. It should be noted thatPSI_(—)SI_(—)type=0 denotes PAT, PSI_(—)SI_(—)type=1 denotes PMT, andPSI_(—)SI_(—)type=2 denotes SIT. PSI_(—)SI_(—)type=3 to 255 denotesreserve.

If PSI_(—)SI_(—)type indicates PAT, a field of start_(—)PAT_(—)addressfollows. The start_(—)PAT address denotes an address on the DVRtransport stream file of the transport packet in which new PAT is storedand is represented in packet number.

If PSI_(—)SI_(—)type indicates PMT, fields of video_(—)PID equal to thenumber indicated in each of program_(—)map_(—)PID,start_(—)PMT_(—)address, program_(—)number, PCR_(—)PID,number_(—)of_(—)videos, number_(—)of_(—)audios, andnumber_(—)of_(—)videos and fields of audio_(—)PID and AudioCodingInfo( )equal to the number indicated by VideoCodingInfo( ) andnumber_(—)of_(—)audios follow.

program_(—)map_(—)PID is the packet ID of new PMT. Thestart_(—)PMT_(—)address is an address on the DVR transport stream fileof the transport packet in which new PMT is stored and is represented inpacket number. The program_(—)number is a program number written in thecontents of new PMT. The PCR_(—)PID is the packet ID of the transportpacket for transporting the PCR written in the content of new PMT. Thenumber_(—)of_(—)videos is the number of video streams written in thecontent of new PMT. The video_(—)PID is the packet ID of the transportpacket for transporting video streams.

VideoCodingInfo( ) denotes coding information of that video stream; forexample, it includes information indicating whether video is SDTV orHDTV and information indicating video frame frequency and pixel aspectratio. number_(—)of_(—)audios denotes the number of audio streamswritten in the contents of new PMT. audio_(—)PID is the packet ID of atransport packet for transmitting the audio stream.

AudioCodingInfo( ) is coding information of that audio stream; forexample, it includes information about audio coding method (MPEG1 audio,MPEG2AAC audio, or Dolby AC3 for example), component type (2-channelstereo or 5.1ch-multichannel stereo for example), and samplingfrequency.

If PSI_(—)SI_(—)type indicates SIT, a field of start_(—)SIT_(—)addressfollows. The start_(—)SIT_(—)address is an address on the DVR transportstream file of the transport packet in which new SIT is stored and isrepresented in packet number.

Referring to FIG. 17, there is shown a second example of ProgramInfo( )syntax. This syntax can be used to limit the format only to onePCR_(—)PID which is referenced by the transport stream to be recorded.In this format, a time interval having the following characteristics (1)through (3) in the transport stream is called program_(—)sequence.

(1) PCR_(—)PID value remains unchanged.

(2) The number of video elementary streams remains unchanged. And thePID value for each video stream and the coding information defined byVideoCodingInfo remains unchanged.

(3) The number of audio elementary streams remains unchanged. And thePID value for each audio stream and the coding information defined byAudioCodingInfo remains unchanged.

program_(—)sequence has only one system time base at one time. Inaddition, program_(—)sequence has only one PMT at one time. ProgramInfo() stores the address of a location at which program_(—)sequence starts.RSPN_(—)program_(—)sequence_(—)start indicates this address. Its valuemay only indicate the source packet number of the boundary at which theabove-defined program_(—)sequence changes. For example, theabove-mentioned start_(—)PMT_(—)address (the address of the transportpacket in which new PMT is stored) may be set.

FIG. 18 shows an example of program_(—)sequence. In this example, thecontents of program_(—)sequence change twice halfway in the transportstream, so that there are three program_(—)sequences. The start sourcepacket number (address) and the source packet numbers (addresses) at thechange points of program_(—)sequence are stored inRSPN_(—)program_(—)sequence_(—)start.

Referring to FIG. 19, there is shown an example of entry point mapsyntax.

EntryPointMap( ) indicates that this syntax is for an entry point map.EntryPointMap( ) has the entry point information for each ofvideo_(—)PIDs in the number indicated by the number_(—)of_(—)videostreams. The video_(—)PID is the packet ID of the transport packet fortransporting video streams. The number_(—)of_(—)entry_(—)pointsindicates the number of entry points of this video stream. ThePTS_(—)EP_(—)start and RSPN_(—)EP_(—)start have the same meanings as thePTS of the entry point and the address of the entry point respectivelyshown in FIG. 12.

Referring to FIG. 20, there is shown a mark syntax. ClipMark denotesthat the syntax concerned is the syntax of mark. version_(—)numberrepresents four characters indicative of the version number of theClipMark( ). length is 32-bit unsigned integer indicative of the numberof bytes of ClipMark( ) from immediately behind the length field to thelast of ClipMark( ). number_(—)of_(—)Clip_(—)marks is a 16-bit unsignedinteger indicative of the number of marks stored in ClipMark.number_(—)of_(—)Clip_(—)marks may be zero. mark_(—)type is an 8-bitfield indicative of mark type, indicating a type such as CM start andend. mark_(—)time_(—)stamp having a 32-bit field stores a time stampindicative of the point at which mark is specified.mark_(—)time_(—)stamp must indicate the high-order 32 bits of the 33-bitPTS corresponding to the presentation unit referenced by mark.STC_(—)sequence having an 8-bit field indicates STC_(—)sequence_(—)id ofthe STC continuous interval in which mark is placed.

FIG. 21 shows an example in which marks such as the access point of thein-point or out-point for a recorded transport stream file (DVRtransport stream file) and the start or end point of CM are representedin values of STC_(—)sequence_(—)id and PTS. The in-point and out-pointare the start point and end point of reproduction respectively.

Because the transport stream to be recorded may include an STCdiscontinuity point, PTSs having the same value may appear in thattransport stream. Therefore, if the access point for the transportstream to be recorded is set on a PTS basis, the PTS value alone is notenough for identifying the access point. For the identification, the STCtime axis ID in which the PTS is included is used together.

The following describes the relationship between EntryPointMap andSTC_(—)Info. EntryPointMap about the video stream to be referenced byone video_(—)PID, which is the database attached to the file of thetransport stream to be recorded is created in one table regardless ofSTC discontinuity point. Comparison between the value ofRSPN_(—)EP_(—)start and the value of RSPN_(—)STC_(—)start defined inSTC_(—)Info( ) indicates the boundary of the data of EP_(—)map belongingto each STC_(—)sequence.

In an example shown in FIG. 22, address X21 of EntryPoint included inEntryPointMap is greater than RSPN_(—)STC_(—)start#2, which is the startaddress of the STC time axis indicated by STC_(—)Info( ). Entry pointdata before address X1 n of EntryPoint belong to the STC time axis ofSTC_(—)sequence#1. The entry point data after address X21 belong to theSTC time axis of STC_(—)sequence#2.

FIG. 23 shows an exemplary configuration of a reproducing apparatus 40for reproducing DVR transport streams from the data recording medium 21on which DVR transport streams and stream database files are recorded bythe recording apparatus 10.

The reproducing apparatus 40 also has a capability of addinguser-specified mark points (the position of a scene that the user likedduring viewing, the position at which viewing discontinued, and so on)to the mark point information included in the stream database recordedon the data recording medium 21 and recording the added mark pointsthereto.

A reading block 41, upon receiving a read control signal inputted from acontroller 49, reads data corresponding to a DVR transport stream fileor a stream database file from the data recording medium 21 and outputsthe read data to a demodulator 42. The demodulator 42 performsdemodulation, as corresponding to the modulator 19 shown in FIG. 1, onthe data inputted from the reading block 41 and outputs the demodulateddata to an error correction block 43. The error correction block 43executes error correction on the data on the basis of the errorcorrection information given by the error correction block 18 shown inFIG. 1 and outputs the resultant DVR transport stream file or streamdatabase file to a file system block 44.

The file system block 44 separates the DVR transport stream fileinputted from the error correction block 43 into source packets andoutputs them to a buffer 45. The file system block 44 also supplies thestream database inputted from the error correction block 43 to thecontroller 49.

The buffer 45 outputs, to a demultiplexer 46, the transport packetobtained by removing the transport packet extra header from that sourcepacket when the arrival time stamp included in the transport packetextra header of the source packet becomes equal to the ATC supplied froma clock oscillator 48.

The demultiplexer 46 extracts the video packet and the audio packetcorresponding to a user-specified program from the transport packetinputted from the buffer 45 and outputs the extracted packets to an AVdecoder 47. The AV decoder 47 decodes the video packet and the audiopacket supplied from the demultiplexer 46 and outputs the resultantvideo signal and audio signal to a subsequent stage. The clockoscillator 48 generates the ATC of 27 MHz and outputs it to the buffer45.

The controller 49 controls a drive 51 to read a control program from amagnetic disc 52, an optical disc 53, a magneto-optical disc 54, or asemiconductor memory 55, thereby controlling each component of thereproducing apparatus 40 on the basis of the control program and thecommands inputted by the user.

When a command for specifying a new mark point is inputted by the user,the controller 49 converts the position of the new mark point into markpoint data (video PID, system time clock time axis ID, and PTS of image)and outputs the mark point data to the writing block 50.

The writing block 50 adds the mark point data inputted from thecontroller 49 to the mark point information included in the streamdatabase recorded on the data recording medium 21 and records the markpoint data thereon.

The following describes the reproduction processing by the reproducingapparatus 40 with reference to the flowchart shown in FIG. 24. Thisreproduction processing starts when the commands for specifying areproduction program and starting the reproduction processing areinputted by the user.

In step S51, the stream database for the reproduction program is read bythe reading block 41 from the data recording medium 21, the streamdatabase is processed by the demodulator 42 through the file systemblock 44, and the resultant stream database is supplied to thecontroller 49. In step S52, reproduction start position data (video PID,STC time axis ID, and PTS of image) are inputted by the user into thecontroller 49. It should be noted that, for the position from whichreproduction starts, the mark point in the mark point informationincluded in the stream database may be specified.

In step S53, the controller 49 compares the reproduction start positioninputted in step S52 with the stream database obtained in step S51 todetect the entry point nearest to the reproduction start position. Byuse of the packet number written in the detected entry point, thecontroller computes the read start address of the DVR transport stream.

In step S54, the reading block 41, under the control by the controller49, starts reading the DVR transport stream from the read start addresson the data recording medium 21 determined in step S53. The DVRtransport stream is processed by the demodulator 42 through thedemultiplexer 46 and the resultant video packet and audio packet areinputted in the AV decoder 47.

In step S55, the AV decoder 47 decodes the video packet and audio packetsupplied from the demultiplexer 46 and outputs the resultant videosignal and audio signal to a monitor (not shown) for example.

In step S56, the controller 49 determines whether a change in thereproduction position for random access reproduction for example hasbeen specified by the user. If the change is found specified, thecontroller returns to step S53 to determine the read start address,repeating the processing mentioned above.

If no change is found specified in step S56, the controller goes to stepS57. In step S57, the controller 49 determines whether the end ofreproduction has been specified by the user. If the end of reproductionis found not specified, the controller returns to step S54 to repeat theprocessing mentioned above. Then, if the end of reproduction is foundspecified, this reproduction processing comes to an end.

Next, the reproduction by use of mark point information will bedescribed. Assume, for example, as shown in FIGS. 25A through 25C, thata DVR transport stream file and its database, EntryPointMap, ClipMark,and STC_(—)Info, are recorded.

First, cued reproduction processing of a scene indicated by mark pointwill be described with reference to the flowchart shown in FIG. 26.

In step S71, EntryPointMap, STC_(—)Info, Program_(—)Info, and ClipMark,which are the database of the DVR transport stream file, are read. Instep S72, the specification of the mark point for a reproduction startpoint by the user is accepted. For example, a thumbnail image indicativeof the start point of the scene is displayed on a menu screen, in whichthe mark point related to the thumbnail image selected by the user isaccepted.

In step S73, the PTS and STC_(—)sequence_(—)id of the mark pointspecified by the user are obtained. In step S74, the source packetnumber at which the STC time axis corresponding to STC_(—)sequence_(—)idis obtained from STC_(—)Info. In step S75, the source packet numberwhich is temporally before the PTS of the mark point and has the nearestentry point is obtained from the packet number at which STC time axisstarts and the PTS of the mark point.

In step S76, transport stream data are read from the source packetnumber obtained in step S75 and supplied to the AV decoder 47. In stepS77, the AV decoder 47 starts displaying the transport stream databeginning with the picture of the PTS of the mark point.

The following specifically describes the processing for displaying apicture matching PTS(a0) of CM start point (CMstart) shown in FIGS. 25Athrough 25C for example. It is assumed that the CM start point be on theSTC time axis with STC_(—)sequence_(—)id being id0 and the source packetnumber at which the STC time axis starts be smaller than A. IfPTS(A)>PTS(a0) for example, packet number A is obtained in step S75.Then, in step S76 the transport stream starting with packet number A issupplied to the AV decoder 47 to be decoded, upon which display startswith the picture corresponding to PTS(a0) in step S77.

Next, CM skip reproduction processing by use of mark point informationwill be described with reference to the flowchart shown in FIG. 27.

In step S81, EntryPointMap, STC_(—)Info, Program_(—)Info, and ClipMark,which are the database of the DVR transport stream file, are read. Instep S82, the specification of CM skip reproduction by the user isaccepted. In step S83, the PTS and STC_(—)sequence_(—)id of each pieceof mark information with mark type being CM start point or CM end point(CMend) are obtained.

In step S84, the source packet number at which the STC time axiscorresponding to STC_(—)sequence_(—)id of CM start point is obtained. Instep S85, the decoding of the transport stream starts.

In step S86, it is determined whether the currently displayed image isone corresponding to the PTS of the CM start point. If the decision isno, then, in step S87, the current image is displayed. The processinggoes back to step S85 to repeat the subsequent operations mentionedabove. If the decision is yes in step S86, then, in step S88, thedecoding and the displaying of the image are stopped.

In step S89, from the packet number at which the STC time axis of CM endpoint and the PTS of the CM end point, the source packet number havingan entry point which is nearest to and temporally before the PTS of theend point is obtained. In step S90, the data of the transport stream areread from the source packet number obtained in step S89 and supplied tothe AV decoder 47. In step S91, the AV decoder 47 restarts the displaybeginning with the picture corresponding to the PTS of the CM end point.

The following specifically describes a CM skip operation shown in FIGS.25A through 25C for example. It is assumed that CM start point and CMend point be on the STC time axis with the same STC_(—)sequence_(—)idbeing id0 and the source packet number at which the STC time axis startsbe smaller than A.

If the display time becomes PTS(a0) in step S86 when the transportstream is being decoded, the decoding and the displaying are stopped.Then, if PTS(C)<PTS(c0) for example, decoding starts with a stream whichbegins with the data having packet number C in step S90. In step S91,the displaying restarts with a picture corresponding to PTS(c0).

The following describes a method of using ProgramInfo at the time ofreproduction. It is effective for the reproduction system to know theinformation about the program content included in the stream, namely thePID of the packet transmitting a video or audio elementary stream and avideo or audio component type (for example, HDTV video stream or MPEG2AAC audio stream) before the DVR transport stream is reproduced.

These pieces of information are helpful in creating a menu screen fordescribing the contents of the recorded transport stream to the user orinitializing the AV decoder 47 and the demultiplexer 46 before decodingthe stream.

The program content may change as shown in FIG. 18 halfway in thetransport stream to be recorded. For example, it is possible that thePID of the packet for transmitting a video stream changes or thecontents of the video stream change from SDTV to HDTV. ProgramInfostores an address (a source packet number) at which program contentschange halfway in the stream. When a reproduction start time isspecified, the reproduction system checks the source packet number atwhich the reading starts and can know the program content stored at thataddress from ProgramInfo in advance.

As described, in the reproduction processing, reproduction starts withthe entry point (I picture position) described in the entry point mapincluded in the stream database, thereby controlling the readingpositions easily and quickly.

In the present embodiment, the configurations of the recording apparatus10 and the reproducing apparatus 40 are shown separately. It will beapparent that the recording apparatus 10 and the reproducing apparatus40 may be combined into one apparatus.

It should be noted that the above-mentioned sequence of processingoperations may be executed by not only hardware but also software. Toexecute the above-mentioned sequence of processing operations bysoftware, the programs constituting that software are installed from arecording medium into a computer built in dedicated hardware or into ageneral-purpose personal computer capable of executing variousfunctions.

This recording medium is constituted by not only a package medium madeup of the magnetic disc 24 (including a floppy disc), the optical disc25 (including a CD-ROM (Compact Disc Read Only Memory) and a DVD(Digital Versatile Disc), the magneto-optical disc 26 (including an MD(Mini Disc), or the semiconductor memory 27 shown in FIG. 1 which isdistributed to provide programs to users separately from a computer, butalso a computer-incorporated ROM hard disc in which programs are storedfor provision to users.

It should be noted that, in the present specification, the steps fordescribing the program to be recorded in a recording medium include notonly the processing operations to be executed sequentially in time butalso the processing operations to be executed in parallel or discretely.

It should also be noted that, in the present specification, a systemdenotes an apparatus in its entirety consisting of two or more devices.

As described and according to the transport stream recording apparatusand method and the program stored in the first program recording mediumassociated with the invention, discontinuity point information isrecorded on a data recording medium as a database corresponding to atransport stream. This novel constitution allows the recording oftransport streams so that prompt random access reproduction in responseto user commands is realized.

In addition, according to the transport stream recording apparatus andmethod and the program stored in the second program recording mediumassociated with the invention, the reading of transport packets isstarted by use of a database corresponding to a transport stream. Thisnovel constitution also realizes prompt random access reproduction inresponse to user commands.

While the preferred embodiments of the present invention have beendescribed using specific terms, such description is for illustrativepurposes only, and it is to be understood that changes and variationsmay be made without departing from the spirit or scope of the appendedclaims.

1. A transport stream recording apparatus for recording a transportstream on a recording medium, comprising: a detector configured todetect, from a transport packet constituting said transport stream, asystem time clock (STC) discontinuity point in said transport stream; agenerator configured to generate STC sequence information indicative ofthe sequence of transport packets that includes no STC discontinuity inaccordance with said STC discontinuity point, wherein said STC sequenceinformation includes information defining a time axis of an STC sequenceand information corresponding to a start point and an end point of saidtime axis; and a recording unit configured to record said transportpacket onto said recording medium along with said STC sequenceinformation.
 2. A transport stream recording apparatus according toclaim 1, wherein said detector comprises: a first extracting blockconfigured to extract reference time information located in saidtransport stream; a time information generator configured to generatesystem time information on the basis of said reference time information;and a time discontinuity detector configured to detect occurrence ofdiscontinuity in said reference time information.
 3. A transport streamrecording apparatus according to claim 1, wherein said generatorgenerates, as said STC sequence information, presentation start time onsaid time axis and presentation end time on said time axis.
 4. Atransport stream recording apparatus according to claim 2, wherein saidreference time information is a program clock reference and said systemtime information is a system time clock.
 5. A transport stream recordingapparatus according to claim 1 further comprising: a first analyzerconfigured to extract, from said transport packets, a transport packetincluding data that may provide a reproduction start position; and anentry point map generator configured to generate an entry point map foridentifying said transport packet including said data; wherein saidrecording unit records, along with said STC sequence information, saidentry point map on said recording medium as said database correspondingto said transport stream.
 6. A transport stream recording apparatusaccording to claim 5, wherein said first analyzer extracts a transportpacket including I picture data as said transport packet including saiddata that may provide said reproduction start position; and said entrypoint map generator generates said entry point map by use of positionalinformation of said transport packet including said I picture data andtime information of said I picture.
 7. A transport stream recordingapparatus according to claim 1 further comprising: a second analyzerconfigured to extract a transport packet including data that provide amark point from said transport packets; and a mark point informationgenerator configured to generate mark point information for identifyingsaid transport packet including said data that provide said mark point;wherein said recording unit records said mark point information on saidrecording medium as said database corresponding to said transport streamalong with said STC sequence information.
 8. A transport streamrecording apparatus according to claim 7, wherein said mark pointinformation generator generates said mark point information by use oftime information of said mark point and time axis identificationinformation for identifying a time axis to which said time informationbelongs.
 9. A transport stream recording apparatus according to claim 8,wherein said time information is a presentation time stamp.
 10. A methodof recording a transport stream comprising the steps of: detecting, froma transport packet constituting said transport stream, a system timeclock (STC) discontinuity point in said transport stream; generating STCsequence information indicative of the sequence of transport packetsthat includes no STC discontinuity in accordance with said STCdiscontinuity, wherein said STC sequence information includesinformation defining a time axis of an STC sequence and informationcorresponding to a start point and an end point of said time axis; andrecording said transport packet onto said recording medium along withsaid STC sequence information.
 11. A method of recording a transportstream according to claim 10, wherein said detecting step comprises:extracting reference time information located in said transport stream;generating system time information on the basis of said reference timeinformation; and detecting occurrence of discontinuity in said referencetime information.
 12. A method of recording a transport stream accordingto 10, wherein said STC sequence information generating step furthercomprises: generating, as said STC sequence information, presentationstart time on said time axis and presentation end time on said timeaxis.
 13. A method of recording a transport stream according to claim11, wherein said reference time information is a program clock referenceand said system time information is a system time clock.
 14. A method ofrecording a transport stream according to claim 10, further comprisingthe steps of: extracting, from said transport packets, a transportpacket including data that may provide a reproduction start position;and generating an entry point map for identifying said transport packetincluding said data; wherein said recording step records, along withsaid STC sequence information, said entry point map on said recordingmedium as a database corresponding to said transport stream.
 15. Amethod of recording a transport stream according to claim 14, whereinsaid extracting step comprises: extracting a transport packet includingI picture data as said transport packet including said data that mayprovide said reproduction start position; and generating said entrypoint map by use of positional information of said transport packetincluding said I picture data and time information of said I picture.16. A method of recording a transport stream according to claim 10,further comprising the steps of: extracting a transport packet includingdata that provide a mark point from said transport packets; andgenerating mark point information for identifying said transport packetincluding said data that provide said mark point; wherein said recordingstep records said mark point information on said recording medium assaid database corresponding to said transport stream along with said STCsequence information.
 17. A method of recording a transport streamaccording to claim 16, wherein said mark point information generatingstep comprises: generating said mark point information by use of timeinformation of said mark point and time axis identification informationfor identifying a time axis corresponding to said time information. 18.A method of recording a transport stream according to claim 17, whereinsaid time information is a presentation time stamp.
 19. A transportstream reproducing apparatus for reproducing a transport stream recordedon a recording medium, comprising: a reproducing unit configured toreproduce said transport stream and system time clock (STC) sequenceinformation from said recording medium, said transport stream includinga sequence of transport packets, and said STC sequence informationindicating the sequence of transport packets that includes no STCdiscontinuity, wherein said STC sequence information includesinformation defining a time axis of an STC sequence and informationcorresponding to a start point and an end point of said time axis; and acontroller configured to control reproduction position on the basis ofthe STC sequence information and desired access point.
 20. A method ofreproducing a transport stream recorded on a recording medium,comprising: reproducing said transport stream and system time clock(STC) sequence information from said recording medium; said transportstream including a sequence of transport packets; said STC sequenceinformation indicating the sequence of transport packets that includesno STC discontinuity, wherein said STC sequence information includesinformation defining a time axis of an STC sequence and informationcorresponding to a start point and an end point of said time axis; andcontrolling reproduction position on the basis of the STC sequenceinformation and desired access point.
 21. A transport stream recordingapparatus comprising: an input unit in which a transport stream isinputted; a generator for generating reproduction management informationin a unit of an interval in which a program clock reference packetidentifier (PCR_(—)PID) value in said transport stream does not change,wherein said management information includes an STC sequence defined bya time axis having a start point and an end point and said managementinformation further includes information corresponding to said startpoint and said end point; and a recording unit for recording saidreproduction management information along with said transport stream.22. A transport stream recording apparatus according to claim 21,wherein said generator comprises: an analyzer operative to extractinformation identifying PCR_(—)PID.
 23. A transport stream recordingapparatus according to claim 21, wherein said generator comprises: ananalyzer operative to extract the number of video elementary streamsincluded in said unit interval.
 24. A transport stream recordingapparatus according to claim 21, wherein said generator comprises: ananalyzer operative to extract the number of audio elementary streamsincluded in said unit interval.
 25. A transport stream recordingapparatus according to 21, wherein said generator comprises: an analyzeroperative to extract a packet identifier of each video stream includedin said unit interval.
 26. A transport stream recording apparatusaccording to claim 21, wherein said generator comprises: an analyzeroperative to extract information for identifying a packet identifier ofeach audio stream included in said unit interval.
 27. A transport streamrecording apparatus according to claim 21, wherein said generatorcomprises: an analyzer operative to extract coding attribute informationof each video stream included in said unit interval.
 28. A transportstream recording apparatus according to claim 21, wherein said generatorcomprises: an analyzer operative to extract coding attribute informationof each audio stream included in said unit interval.
 29. A method ofrecording a transport stream comprising the steps of: generatingreproduction management information in each unit of an interval in whicha program clock reference packet identifier (PCR_(—)PID) value in aninputted transport stream does not change, wherein said managementinformation includes an STC sequence defined by a time axis having astart point and an end point and said management information furtherincludes information corresponding to said start point and said endpoint; and recording said reproduction management information along withsaid transport stream.
 30. A computer readable carrier includingcomputer program instructions that cause a computer to implement amethod of recording a transport stream on a recording medium, saidprogram comprising the steps of: generating reproduction managementinformation in each unit of an interval in which a program clockreference packet identifier (PCR_(—)PID) value in an inputted transportstream does not change, wherein said management information includes anSTC sequence defined by a time axis having a start point and an endpoint and said management information further includes informationcorresponding to said start point and said end point; and recording saidreproduction management information along with said transport stream.31. A computer readable carrier according to claim 30, whereinreproduction management information is recorded in each unit of aninterval in which a PCR_(—)PID value in said transport stream does notchange.
 32. A computer program product including a computer readablemedium having stored thereon computer executable instructions forrecording a transport stream, when executed, said computer readableinstructions performing steps, comprising: detecting, from a transportpacket constituting said transport stream, a system time clock (STC)discontinuity point in said transport stream; generating STC sequenceinformation indicative of the sequence of transport packets thatincludes no STC continuity in accordance with said STC discontinuitypoint, wherein said STC sequence information includes informationdefining a time axis of an STC sequence and information corresponding toa start point and an end point of said time axis; and recording saidtransport packet onto said recording medium along with said STC sequenceinformation.
 33. The computer program product according to claim 32,wherein said detecting step comprises: extracting reference timeinformation located in said transport stream; generating system timeinformation on the basis of said reference time information; anddetecting the occurrence of discontinuity in said reference timeinformation.
 34. The computer program product according to claim 33,wherein said generating step generates, as said time axis identificationinformation, said system time information corresponding to a displaystart time on said time axis and said system time informationcorresponding to a display end time on said time axis.
 35. The computerprogram product according to claim 33, wherein said reference timeinformation is a program clock reference and said system timeinformation is a system time clock.
 36. The computer program productaccording to claim 32, further comprising the steps of: extracting, fromsaid transport packets, a transport packet including data that mayprovide a reproduction start position; and generating an entry point mapfor identifying said transport packet including said data; recording,along with said STC sequence information, said entry point map on saidrecording medium as said database corresponding to said transportstream.
 37. The computer program product according to claim 36, furthercomprising the steps of: extracting a transport packet including Ipicture data as said transport packet including said data that mayprovide said reproduction start position; and generating said entrypoint map by use of positional information of said transport packetincluding said I picture data and time information of said I picture.38. The computer program product according to claim 32, furthercomprising the steps of: extracting a transport packet including datathat provides a mark point from said transport packets; and generatingmark point information for identifying said transport packet includingsaid data that provide said mark point; recording said mark pointinformation as said database corresponding to said transport streamalong with said STC sequence information.
 39. A method of recording atransport stream according to claim 38, wherein said mark pointinformation generating step comprises: generating said mark pointinformation by use of time information of said mark point and time axisidentification information for identifying a time axis corresponding tosaid time information.
 40. The computer program product according toclaim 39, wherein said time information is a presentation time stamp.41. A computer program product including a computer readable mediumhaving stored thereon computer executable instructions for reproducing atransport stream, when executed, said computer readable instructionsperforming steps, comprising: reproducing said transport stream andsystem time clock (STC) sequence information from said recording medium,said transport stream including a sequence of transport packets, andsaid STC sequence information indicating the sequence of transportpackets that includes no STC discontinuity, wherein said STC sequenceinformation includes information defining a time axis of an STC sequenceand information corresponding to a start point and an end point of saidtime axis; and controlling reproduction position on the basis of the STCsequence information and desired access point.
 42. The computer programproduct of claim 41, further comprising the steps of: generatingreproduction management information in a unit of an interval in which aprogram clock reference packet identifier (PCR_(—)PID) value in saidtransport stream does not change; and a recording unit for recordingsaid reproduction management information along with said transportstream.
 43. A computer readable recording medium for recording transportpacket information and STC sequence information, comprising: a streamdatabase configured to store said STC sequence information, said STCsequence information indicative of the sequence of transport packetsthat includes no STC discontinuity in accordance with a STCdiscontinuity point detected in said transport stream, wherein said STCsequence information includes information defining a time axis of an STCsequence and information corresponding to a start point and an end pointof said time axis, wherein said stream database is accessed by areproducing device which controls a reproduction position on the basisof the STC sequence information and a desired access point.
 44. Thecomputer readable recording medium according to claim 43, wherein saidtime axis identification information comprises said system timeinformation corresponding to a display start time on said time axis andsaid system time information corresponding to a display end time on saidtime axis.